#include "seekNodeWay.h"
#include "control.h"
#include "C_code_Log.h"

uint8_t seekNodeMethod_default(){
    LOG("INFO", "seekNodeMethod_default");
    return 1;
}

/// @brief 寻找节点任务回调函数
/// @param control 控制台
/// @note 在完成寻找节点任务后调用，将寻找节点任务状态设置为完成，将停车任务状态置为准备就绪
static void seekNodeCallback(ControlCenterTypeDef *control){
    control->runState->seekNodeState = MY_EXIT;
    control->runState->carParkState = MY_READY;
}

/// @brief  寻找节点任务处理函数
/// @param control 控制台
/// @note 在寻找节点任务状态为准备就绪时调用，根据寻找节点任务的类型执行不同的寻找节点任务
void seekNodeHandle_Task(ControlCenterTypeDef *control){
    // 如果寻找节点任务状态为准备就绪
    if(control->runState->seekNodeState == MY_READY){
        // 根据寻找节点任务的类型执行不同的寻找节点任务，sectionInfo是当前路段的信息的指针，指向地图
        switch (control->sectionInfo->seekNodeWay)
        {
        case SEEK_default:
            if(1 == seekNodeMethod_default()){
                seekNodeCallback(control);
            }
            break;
        default:seekNodeCallback(control);
            break;
        }
    }
}